﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.SessionState;
using System.Web.UI.DataVisualization.Charting;
using System.Data;
using Terrae.GUI.Contrato;
using Terrae.GUI.Presentador;

namespace Terrae.GUI.Vista
{
    public partial class CVDiario : System.Web.UI.Page, 
        IContratoCVDiario
    {
        #region Atributos

        /// <summary>
        /// Intancia del presentador CVDiario.
        /// </summary>
        private PresentadorCVDiario _presentador;
        
        #endregion Atributos

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Sesion["Usuario"] == null)
                Response.Redirect("Home.aspx");
            else
            {
                if (!IsPostBack)
                {
                    _presentador.BuscarVariables();
                }
            }
        }

        #region Constructor

        public CVDiario()
        {
            _presentador = new PresentadorCVDiario(this);
        }

        #endregion Constructor

        #region Métodos

        #region Boton Volver

        /// <summary>
        /// Ácción del botón Volver.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btVolver_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("../Vista/ConsultarVariable.aspx");
        }

        #endregion Volver

        #region Barras Promedio

        /// <summary>
        /// Acción de MSChart (barra gráfica de el promedio de las variables).
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void barrasV_Load(object sender, EventArgs e)
        {
            barrasV.Series["Series1"].ChartType = SeriesChartType.Column;
            barrasV.Series["Series1"]["DrawingStyle"] = "Emboss";
            barrasV.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;
            barrasV.Series["Series1"].IsValueShownAsLabel = true;
        }

        #endregion Barras Promedio

        #endregion Métodos

        #region Implementación del IContratoCVDiario

        /// <summary>
        /// Implementación de las barras.
        /// </summary>
        public Chart BarraVariables
        {
            get { return barrasV; }
        }

        /// <summary>
        /// Implentacion del metodo Sesion.
        /// </summary>
        public HttpSessionState Sesion
        {
            get { return Session; }
        }

        #endregion Implementación del IContratoCVDiario
    }
}